1. Field of the Invention
This invention generally relates to computer networks, and more particularly, the invention relates to the use of decentralized, collaborative networks having a grid infrastructure. Even more specifically, the invention relates to methods, systems, computer program products, and methods of doing business wherein network-accessible services are provided in a decentralized network having a federated grid infrastructure.
2. Background Art
An emerging trend in information technology in general, and in decentralized networks of the type provided by network service providers, is use of collaboration. This trend is evidenced by the level of investment in so-called “web services” and in the adoption of a number of open industry standards supporting web services. In general, the term “web service” refers to an interface that describes a collection of network-accessible operations. Web services technology is a mechanism for distributed application integration, and is also commonly refereed to as the “service-oriented architecture” for distributed computing. Web services fulfill a specific task or a set of tasks. They may work with one or more other web services in an interoperable manner to carry out their part of a complex workflow or a business transaction. For example, completing a complex purchase order transaction may require automated interaction between an order placement service (i.e., order placement software) at the ordering business and an order fulfillment service at one or more of its business partners. In turn, this order fulfillment service may interact with a credit card approval service, a package delivery service, and so forth.
With increased use of collaborative networking, efficient techniques for ‘resource sharing will become critical. Resource sharing is complicated in conventional distributed or decentralized networks by the heterogeneity that exists when using technologies such as web services. In recent years, the academic and scientific communities cooperated to develop the concept of “grid technology” for sharing their resources. A “grid” may be defined as a collection of distributed computing resources available over a local or wide area network that appear to an end user or application as one large virtual computing system. A primary objective of grid computing is to create virtual dynamic organizations through secure, coordinated resource-sharing among individuals, institutions and resources. Grid computing is an approach to distributed computing that spans not only locations but also organizations, machine architectures and soft-ware boundaries to provide unlimited power, collaboration and information access to everyone connected to a grid
Grid technology allows enterprises to share resources as they form “virtual organizations”—that is, the enterprises share their resources and services (which may be in geographically-widespread locations and which may have heterogeneous computing platforms) to form virtual computing services. (See “Grid Services for Distributed System Integration”, I. Foster, et al., Computer, 35(6), 2002), for more information about grid technology.
Today an architecture referred to as “Open Grid Services” is being developed by academic and scientific communities, along with commercial entities such as International Business Machines Corporation (“IBM”), as an evolution of grid technology. This Open Grid Services architecture (“OGSA”) enables a grid to provide enterprises with an extensible set of services that can be aggregated by the virtual organizations. According to OGSA, all computational resources, storage resources, networks, programs, databases, and so forth are modeled as services, providing a service-oriented view. OGSA leverages web services technology (and the open industry standards on which that technology is built) as well as grid technology.
The OGSA work effort includes an evolution of a programmer's toolkit referred to a “Globus Toolkit”, which is designed to make creation of grid-based applications easier. The Globus Toolkit defines a “grid runtime” as a set of services. This set of services includes: (1). a Grid Resource Allocation and Management (“GRAM”) protocol and “gatekeeper” service, designed to provide secure, reliable service creation and management; (2) a Monitoring and Discovery Service (“MDS-2”) for information discovery; and (3) a Grid Security Infrastructure for single sign-on, delegation, and credential mapping.
One of the largest challenges in moving to a distributed architecture—such as a Service Oriented Architecture, is the idea that applications must be Architected, Designed, and Developed specifically with the architecture in mind. This is especially true for CORBAIJ2EE architectures—as well as Web Services based architectures.
In order to move an enterprise architecture to the GRID, after the design and infrastructure and even core services are provided via a GRID infrastructure, the challenge still remains to migrate a significant portion of the applications, programs, and services into the new paradigm. The migration effort typically means that applications must be rewritten with the GRID in mind. This includes but is not limited to the following for each application:                1) Redesign of the architecture to take advantage of a GRID computing platform. <Very Difficult> in some cases impossible without a wholesale re-engineering of the way the application works.        2) Refactoring an/or new development to access the GRID libraries, in our case OGSA development suite.        3) Design and performance testing.        4) Deployment.        
Given that there are many applications in a typical Intranet, for large Intranets, thousands, the cost and effort to migrate to a GRID based strategy for even a few key applications can be enormous. Add to that the immaturity of the GRID infrastructure, API's and protocol, and the cost and time becomes prohibitive to do anything more than perhaps a few isolated applications as proof of concept or prototypes.
There, thus, clearly is a need for mechanisms and procedures to facilitate the adoption of current computer applications for use in a collaborative network having a grid infrastructure.